home *** CD-ROM | disk | FTP | other *** search
- WB-tree File Based Associative String Data Base System.
- Copyright (c) 1991, 1992, 1993 Holland Mark Martin
-
- Permission to use, copy, modify, and distribute this software and its
- documentation for educational, research, and non-profit purposes and
- without fee is hereby granted, provided that the above copyright
- notice appear in all copies and that both that copyright notice and
- this permission notice appear in supporting documentation, and that
- the name of Holland Mark Martin not be used in advertising or
- publicity pertaining to distribution of the software without specific,
- written prior consent in each case. Permission to incorporate this
- software into commercial products can be obtained from Jonathan
- Finger, Holland Mark Martin, 174 Middlesex Turnpike, Burlington, MA,
- 01803-4467, USA. Holland Mark Martin makes no representations about
- the suitability or correctness of this software for any purpose. It
- is provided "as is" without express or implied warranty. Holland Mark
- Martin is under no obligation to provide any services, by way of
- maintenance, update, or otherwise.
-
- WB's Authors are Aubrey Jaffer, Jonathan Finger, and Roland Zito-Wolf.
- Please send bug-reports and enhancements to jaffer@ai.mit.edu
-
- MANIFEST
-
- `README' is this file. It contains the COPYRIGHT NOTICE, MANIFEST,
- and INSTALLATION INSTRUCTIONS.
-
- `dbscm.doc' documents the SCM interface to WB-tree.
- `ChangeLog' documents changes to the WB.
- `Design.doc' describes the internal representations and algorithms.
- `example.scm' example program using WB-tree in SCM.
-
- `defs.scm' SCM configuration code which gets compiled into defs.h.
- `handle.scm blink.scm prev.scm del.scm ent.scm scan.scm stats.scm'
- SCM code for WB-trees which is compiled into C code with
- suffixes ".c" and ".h".
- `blkio.scm' wimpy POSIX interface to the disk. Replace this if you
- have a more direct interfact to the disk.
- `sys.h sys.c' System dependencies.
- `sys.scm' System dependencies when debugging in SCM.
- `db.c' C code for the SCM interface to WB-trees.
- `db.scm' code for SCM interface when debugging in SCM.
- `comp.scm' SCM code which compiles SCM code into C.
- `test.scm' file for testing WB-tree system.
- `test2.scm' more tests for WB-tree system.
- `Makefile' Unix makefile
- `VMSBUILD.COM' command script for compiling under VMS.
- `make.scm' SCM program for translating and compiling WB-tree system.
- `all.scm' loads all the SCM files for debugging.
-
- `view.c' program for viewing database files.
- `check.c' program for checking, repairing, and garbage collecting
- WB-tree databases.
-
- INSTALLATION INSTRUCTIONS
-
- This first distribution of WB-tree requires the SCM and SLIB packages.
-
- SCM can be obtained via FTP from:
- altdorf.ai.mit.edu:archive/scm/scm4c0.tar.z
- prep.ai.mit.edu:pub/gnu/jacal/scm4c0.tar.z
- nexus.yorku.ca:pub/scheme/new/scm4c0.tar.z
-
- SLIB is a portable Scheme library which SCM uses:
- altdorf.ai.mit.edu:archive/scm/slib1d2.tar.z
- prep.ai.mit.edu:pub/gnu/jacal/slib1d2.tar.z
- nexus.yorku.ca:pub/scheme/new/slib1d2.tar.z
-
- Once you have installed these packages, do "scm all" in this
- directory. This will load the Scheme version of WB-tree with test
- code. Typing `(main)' will construct a test database "z" in this
- directory. If this runs without errors then you are ready to build
- the C code. Exit from scm with `(quit)'.
-
- If you are running on a unix system, `make' in this directory should
- construct the programs dbscm, check, and view. If your C compiler
- can accept ANSI function prototypes, (define __STDC__ #t) in comp.scm.
-
- On VMS systems, @VMSBUILD should construct the same programs. On Unix
- and VMS systems the directories scm and wb should be in the same
- directory.
-
- On other systems, run "scm" and type (load "make"). This will
- translate all the appropriate SCM files and then do a system call to
- "make". You will need to configure your makefile for your system.
- If your C compiler cannot accept ANSI function prototypes, comment out
- the line (set! __STDC__ #t) in make.scm.
-
- Now run "dbscm test" and type (main). This should build the test
- database "z" much more quickly than before.
-
- Type (quit) to exit from DBSCM. Now run "check z". This will check
- the structure of the database and collect temporary files. This
- should reclaim 52 blocks and report no errors. If you run it again,
- no blocks will be collected.
-
- The program view will allow you to see the blocks of key-value pairs
- in the B-tree. Run "view z". Block 0 will be displayed. To see any
- other block, type its number and <Return>. To exit, type <Return>.
-